Pandas 创建DataFrame

您所在的位置:网站首页 data wrangling with pandas Pandas 创建DataFrame

Pandas 创建DataFrame

2022-05-21 21:08| 来源: 网络整理| 查看: 265

Pandas 创建DataFrame,Pandas 数据帧(DataFrame)是二维数据结构,它包含一组有序的列,每列可以是不同的数据类型,DataFrame既有行索引,也有列索引,它可以看作是Series组成的字典,不过这些Series共用一个索引。

数据帧(DataFrame)的功能特点:

不同的列可以是不同的数据类型 大小可变 含行索引和列索引 可以对行和列执行算术运算

假设要创建一个包含学生信息的DataFrame,如下图所示: Pandas 创建DataFrame

文章目录

1 DataFrame 结构体2 创建一个空的 DataFrame3 从列表创建 DataFrame4 从 ndarrays/Lists 的字典来创建 DataFrame5 从字典列表创建 DataFrame6 从 Series 字典来创建 DataFrame DataFrame 结构体

pandas中的DataFrame可以使用以下构造函数创建:

pandas.DataFrame( data, index, columns, dtype, copy)

构造函数的参数说明如下:

参数 说明 data 支持多种数据类型,如:ndarray,series,map,lists,dict,constant和另一个DataFrame。 index 行标签,如果没有传递索引值,默认值为np.arrange(n) columns 列标签,如果没有传递索引值,默认值为np.arrange(n) dtype 每列的数据类型。 copy 是否复制数据,默认值为False

Pandas数据帧(DataFrame)支持多种输入类型来创建

列表(list) 字典(dict) 系列(series) Numpy ndarrays 其他数据帧(DataFrame)

下面介绍如何创建数据帧(DataFrame)。

创建一个空的 DataFrame #import the pandas library and aliasing as pd import pandas as pd df = pd.DataFrame() print (df)

执行结果如下:

Empty DataFrame Columns: [] Index: [] 从列表创建 DataFrame

可以使用单个列表或二维列表创建数据帧(DataFrame)。

例1:单个列表创建DataFrame

import pandas as pd data = [1,2,3,4,5] df = pd.DataFrame(data) print (df)

执行结果如下:

0 0 1 1 2 2 3 3 4 4 5

例2:二维列表创建DataFrame

import pandas as pd data = [['Alex',10],['Bob',12],['Clarke',13]] df = pd.DataFrame(data,columns=['Name','Age']) print (df)

执行结果如下:

Name Age 0 Alex 10 1 Bob 12 2 Clarke 13

例3:二维列表创建DataFrame,并指定dtype

import pandas as pd data = [['Alex',10],['Bob',12],['Clarke',13]] df = pd.DataFrame(data,columns=['Name','Age'],dtype=float) print (df)

执行结果如下:

Name Age 0 Alex 10.0 1 Bob 12.0 2 Clarke 13.0

注: 可以观察到,dtype参数将Age列的类型更改为浮点。

从 ndarrays/Lists 的字典来创建 DataFrame

所有的ndarrays必须具有相同的长度。如果传递了索引(index),则索引的长度应等于数组的长度。 如果没有传递索引,则默认情况下,索引为range(n),其中n为数组长度。

import pandas as pd data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]} df = pd.DataFrame(data) print (df)

执行结果如下:

Age Name 0 28 Tom 1 34 Jack 2 29 Steve 3 42 Ricky

注:观察值0,1,2,3,它们是分配给每个使用函数range(n)的默认索引。

使用列表作为索引,创建一个数据帧(DataFrame)。

import pandas as pd data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]} df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4']) print (df)

执行结果如下:

Age Name rank1 28 Tom rank2 34 Jack rank3 29 Steve rank4 42 Ricky

注:index参数为每行分配一个索引。

从字典列表创建 DataFrame

字典列表可作为输入数据用来创建数据帧(DataFrame),字典键默认为列名。

例1:传递字典列表来创建数据帧(DataFrame)。

import pandas as pd data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}] df = pd.DataFrame(data) print (df)

执行结果如下:

a b c 0 1 2 NaN 1 5 10 20.0

注:观察到,使用NaN填写空白区域

例2:传递字典列表和行索引来创建数据帧(DataFrame)。

import pandas as pd data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}] df = pd.DataFrame(data, index=['first', 'second']) print (df)

执行结果如下:

a b c first 1 2 NaN second 5 10 20.0

例3:以下示例显示如何使用字典,行索引和列索引列表创建数据帧(DataFrame)。

import pandas as pd data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}] #With two column indices, values same as dictionary keys df1 = pd.DataFrame(data, index=['first', 'second'], columns=['a', 'b']) #With two column indices with one index with other name df2 = pd.DataFrame(data, index=['first', 'second'], columns=['a', 'b1']) print (df1) print (df2)

执行结果如下:

a b first 1 2 second 5 10 a b1 first 1 NaN second 5 NaN

注:df1是使用列索引创建的,与字典键相同 df2使用字典键以外的列索引创建DataFrame,使用NaN填写空白区域

从 Series 字典来创建 DataFrame

通过传递 Series 字典来创建DataFrame,最终索引是两个Series索引的并集。

import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d) print (df)

执行结果如下:

one two a 1.0 1 b 2.0 2 c 3.0 3 d NaN 4

注:对于第一个Series,观察到没有包含索引'd',输出结果中,对应索引d区域,填写NaN。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3